package jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCDemo1 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        /*
            使用JDBC链接数据库的基本流程:
            1:加载驱动
            2:通过驱动管理器与数据库建立链接
            3:通过链接对象创建语句执行对象
            4:通过语句执行对象执行SQL语句
            5:接收数据库处理结果
            6:关闭数据库链接
         */
        //1 加载MySQL驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //2 通过驱动管理器与数据库建立链接
        Connection conn = DriverManager.getConnection(
                "jdbc:mysql://localhost:3306/tedu?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true",
                "root",
                "root"
        );
        System.out.println("与数据库链接成功!");
        //3
        Statement state = conn.createStatement();
        /*
            CREATE TABLE userinfo(
                id INT PRIMARY KEY AUTO_INCREMENT,
                username VARCHAR(32),
                password VARCHAR(32),
                nickname VARCHAR(32),
                age INT(3)
            )
         */
        String sql = "CREATE TABLE userinfo( " +
                     "  id INT PRIMARY KEY AUTO_INCREMENT, " +
                     "  username VARCHAR(32), " +
                     "  password VARCHAR(32), " +
                     "  nickname VARCHAR(32), " +
                     "  age INT(3) " +
                     ")";
        /*
            boolean execute(String sql)
            该方法可以执行任意种类的SQL语句，当执行SQL后产生查询结果集则返回true
            因为执行DQL语句和DML语句有专门的方法，因此当前方法通常用于执行DDL语句
         */
        state.execute(sql);
        System.out.println("执行成功");

        conn.close();
    }
}
